using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace KPIS.GERP.GBMS.MODEL
{
    [Serializable]
    public class SourceInfo
    {
        private int seq;
        private string code;
        private string name;
        private string descr;
        private string status;
        private string gfmis_code;
        private SourceTypeInfo srcType;
        private SourceInfo srcParent;
        private UserRecordInfo usrInfo;
        //private Nullable<Int32> createby;
        //private Nullable<DateTime> created_when;
        //private Nullable<Int32> updated_by;
        //private Nullable<DateTime> updated_when;

        public SourceInfo()
        {

        }

        public SourceInfo(int seq)
        {
            this.seq = seq;
        }

        public SourceInfo(int seq, string code, string name, string descr, string status, string gfmis_code, SourceTypeInfo srcType, SourceInfo srcParent
                        , UserRecordInfo usrInfo)//, Nullable<Int32> createby, Nullable<DateTime> created_when, Nullable<Int32> updated_by, Nullable<DateTime> updated_when)
        {
            this.seq = seq;
            this.code = code;
            this.name = name;
            this.descr = descr;
            this.status = status;
            this.gfmis_code = gfmis_code;
            this.srcType = srcType;
            this.srcParent = srcParent;
            this.usrInfo = usrInfo;
            //this.createby = createby;
            //this.created_when = created_when;
            //this.updated_by = updated_by;
            //this.updated_when = updated_when;

        }

        ~SourceInfo()
        {

        }

        public virtual void Dispose()
        {

        }

        public int Sequence
        {
            get
            {
                return seq;
            }
            set
            {
                seq = value;
            }
        }

        public string Code
        {
            get
            {
                return code;
            }
            set
            {
                code = value;
            }
        }

        public string Name
        {
            get
            {
                return name;
            }
            set
            {
                name = value;
            }
        }

        public string Description
        {
            get
            {
                return descr;
            }
            set
            {
                descr = value;
            }
        }

        public string Status
        {
            get
            {
                return status;
            }
            set
            {
                status = value;
            }
        }

        public string Gfmis_code
        {
            get
            {
                return gfmis_code;
            }
            set
            {
                gfmis_code = value;
            }
        }
        
        public SourceTypeInfo Type
        {
            get
            {
                return srcType;
            }
            set
            {
                srcType = value;
            }
        }

        public SourceInfo Parent
        {
            get
            {
                return srcParent;
            }
            set
            {
                srcParent = value;
            }
        }

        public UserRecordInfo User
        {
            get
            {
                return usrInfo;
            }
            set
            {
                usrInfo = value;
            }
        }

        //public Nullable<Int32> Createby
        //{
        //    get
        //    {
        //        return createby;
        //    }
        //    set
        //    {
        //        createby = value;
        //    }
        //}

        //public Nullable<DateTime> Created_when
        //{
        //    get
        //    {
        //        return created_when;
        //    }
        //    set
        //    {
        //        created_when = value;
        //    }
        //}

        //public Nullable<Int32> Updated_by
        //{
        //    get { return updated_by; }
        //    set { updated_by = value; }
        //}
        //public Nullable<DateTime> Updated_when
        //{
        //    get { return updated_when; }
        //    set { updated_when = value; }
        //}
    }
}